const path = require('path')

/**
 * Vue CLI 配置 - HBuilderX 原生版本
 * @description HBuilderX 也支持 vue.config.js，主要用于配置代理和部分构建选项
 * @see https://uniapp.dcloud.net.cn/collocation/vue-config
 */
module.exports = {
  // 需要转译的依赖包
  transpileDependencies: ['@climblee/uv-ui', 'luch-request', 'z-paging'],
  
  // Webpack 配置
  configureWebpack: {
    resolve: {
      alias: {
        '@': path.resolve(__dirname, '.'), // HBuilderX 版本源码在根目录
      },
    },
  },
  
  // 链式配置 webpack (更兼容 HBuilderX)
  chainWebpack: (config) => {
    // 定义全局环境变量
    config.plugin('define').tap((args) => {
      const env = args[0]['process.env'] || {}
      env.VUE_APP_API_URL = JSON.stringify(
        process.env.NODE_ENV === 'development' 
          ? '/api' 
          : 'https://ht.aiaabiok.com/crypto/user/'
      )
      args[0]['process.env'] = env
      return args
    })
  },
  
  // CSS 配置
  css: {
    loaderOptions: {
      sass: {
        // 全局引入 SCSS 变量和 mixins
        // HBuilderX 使用 prependData 而不是 additionalData
        prependData: `@import "@/styles/abstracts/_index.scss";`,
      },
    },
  },
  
  // 开发服务器配置
  devServer: {
    port: 8080,
    open: false, // 禁用自动打开浏览器
    
    // 代理配置
    proxy: {
      // API 代理
      '/api': {
        target: 'http://ht.aiaabiok.com/crypto/user',
        changeOrigin: true,
        secure: false,
        pathRewrite: {
          '^/api': ''
        },
        logLevel: 'debug'
      },

      '/chat': {
        target: 'http://ht.aiaabiok.com/crypto',
        changeOrigin: true,
        secure: false,
        pathRewrite: {
          '^/chat': ''
        },
        logLevel: 'debug'
      },
      
      // 生产环境 API 代理
      '/prod-api': {
        target: 'http://ht.aiaabiok.com',
        changeOrigin: true,
        secure: false,
        pathRewrite: {
          '^/prod-api': '/prod-api'
        },
        logLevel: 'debug'
      }
    }
  }
}

